Hypertext transfer protocol (HTTP) streaming is spreading widely as a form of multimedia delivery of Internet video. HTTP-based delivery provides reliability and deployment simplicity due to the already broad adoption of both HTTP and its underlying transmission control protocol (TCP)/Internet protocol (IP) protocols. Moreover, HTTP-based delivery enables easy and effortless streaming services by avoiding network address translation (NAT) and firewall traversal issues. Finally, HTTP-based streaming also provides the ability to use standard HTTP servers and caches instead of specialized streaming servers and has better scalability due to minimal state information on the server side.
Dynamic adaptive streaming over HTTP (DASH) standardized in 3GPP TS 26.247 V.10.2.0 (Jun. 29, 2012) is a new technology in comparison to real-time streaming protocol (RTSP)-based adaptive streaming. Prior to the use of DASH, standardized progressive download methods were available for media delivery from standard HTTP Web servers. In HTTP-based progressive download, clients can seek to positions in the media file by performing byte range requests to the Web server. Disadvantages of HTTP-based progressive download are mostly that bandwidth may be wasted if the user decides to stop watching the content after progressive download has started (e.g., switching to another content), it is not really bitrate adaptive and it does not support live media services. DASH technology addresses the weaknesses of real time protocol (RTP)/RTSP-based streaming and HTTP-based progressive download.
In DASH, a media presentation description (MPD) metadata file provides information on the structure and different versions of the media content representations stored in the server (including different bitrates, frame rates, resolutions, codec types, etc.). In addition, DASH also specifies the segment formats, i.e., containing information on the initialization and media segments for a media player (the media player looks at initialization segment to understand container format and media timing info) to ensure mapping of segments into media presentation timeline for switching and synchronous presentation with other representations. Based on this MPD metadata information that describes the relation of the segments and how they form a media presentation, clients request the segments using HTTP GET or partial GET methods. The client fully controls the streaming session, i.e., it manages the on-time request and smooth playout of the sequence of segments, potentially adjusting bitrates or other attributes, for example, to react to changes of the device state or the user preferences.
DASH provides the ability to dynamically switch between different bitrate representations of the media content as the available bandwidth changes. Hence, DASH allows faster adaptation to changing network and wireless link conditions, user preferences, and device capabilities (e.g., display resolution, CPU, memory resources, etc.). Such dynamic adaptation provides better user quality of experience (QoE), with shorter startup delays, fewer rebuffering events, etc.
Multimedia Broadcast Multicast Services (MBMS) is a point-to-multipoint system utilized on cellular networks operating in accordance with one of the cellular standards promulgated by the Third Generation Partnership Project (3GPP). It is designed for efficient delivery of popular content to many receivers based on broadcast and multicast techniques and was first introduced in release six of the 3GPP Universal Mobile Telecommunications System (UMTS) specification as an optional feature, and was further optimized in the later 3GPP releases based on several enhancements such as multicast broadcast single frequency network (MBSFN) functionality. At the service layer, MBMS also defines delivery protocols for both streaming of multimedia content and reliable download of files, based on the transport-layer protocol based on the user datagram protocol (UDP), RTP for streaming and File Delivery over Unidirectional Transport (FLUTE) for file delivery. MBMS has been adopted as the enhanced MBMS (eMBMS) mode in 3GPP-based Long Term Evolution (LTE) standards development corresponding to 3GPP release eight and onwards.
DASH-formatted content could be delivered to the UE using both MBMS download delivery methods and/or HTTP-based delivery methods. MBMS-based DASH delivery option may not be available in some service areas, in which cases those services might be alternatively provided via unicast. In case of DASH-formatted content delivery over MBMS, FLUTE transport protocol may be used. FLUTE as defined in RFC3926 permits delivery of DASH segments over MBMS so that the client observes them being delivered over HTTP/TCP. HTTP-URL is assigned to each delivered object in FLUTE and the HTTP-URL maps the Segment URLs in the MPD. The UE would identify the received DASH representations based on the comparison of the HTTP URLs contained in the MPD and the URL information included in the FLUTE packets.
Different DASH representations may be available over unicast/HTTP and MBMS/FLUTE requiring a switch for accessing different versions of the DASH content. Switching cases between unicast/HTTP and MBMS/FLUTE may occur in these scenarios, including user-initiated content switching with access change as well as application-initiated access change. In summary, it is possible that the client switches between the unicast and multicast/broadcast access methods during the content streaming and moreover certain DASH-formatted components (representations, segments, etc.) may be received over multicast/broadcast and other components may be received over unicast with synchronization at the client.
Given such availability of unicast/HTTP and broadcast/FLUTE access methods for DASH-formatted content, it is important to ensure continuity and consistent user experience for the entire content streaming.